Vykresleni textu fontem o rozmeru znaku x,y
Otázka od: Martin Radvansky
2. 7. 2004 15:40
Dobry den,
potreboval bych vykreslit na Canvas text fontem, ktery neni definovan
jeho size ale primo velikosti tj vyska a sirka. Potrebuji proste
vykreslit text, ktery bude mit mnou definovanou vysku a sirku. Problem je, ze
pokazde pri zmene vysky se mi automaticky zmeni i sirka coz nechci.
Stale se mi nedari neco najit nejaky rozumny postup.
Diky za napady
--
S pozdravem,
Martin
Odpovedá: Fitz Ladislav
7. 7. 2004 8:11
podivej se na CreateFontIndirect
Odpovedá: Martin Radvansky
7. 7. 2004 9:17
Dobry den,
FL> podivej se na CreateFontIndirect
No prave, cestou CreateFont nebo CreateFontIndirec jsem sel, ale
ackoliv je ve strukture LOGFON je Height i Width, tak mi to nereaguje na
zmenu na zmenu Width. Pokud zadam Height tak se mi meni cely font v obou
smerech.
Pokud zadam cokoliv do sirky Width tak se na to nebere potaz, netusim
proc
--
S pozdravem,
Martin
Odpovedá: Fitz Ladislav
7. 7. 2004 9:07
to by ale melo fungovat muzes poslat kousek kodu
>> podivej se na CreateFontIndirect
> No prave, cestou CreateFont nebo CreateFontIndirec jsem sel, ale
> ackoliv je ve strukture LOGFON je Height i Width, tak mi to nereaguje
> na
> zmenu na zmenu Width. Pokud zadam Height tak se mi meni cely font v
> obou smerech. Pokud zadam cokoliv do sirky Width tak se na to nebere
> potaz, netusim
> proc
Odpovedá: Martin Radvansky
7. 7. 2004 10:05
Dobry den,
FL> to by ale melo fungovat muzes poslat kousek kodu
fHFont:=CreateFont(-25, 10, 0, 0,
FW_NORMAL, 0, 0, 0,
ANSI_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH or FF_MODERN,'Courier New');
Printer.Canvas.Font.Handle:=fHFont;
Printer.Canvas.Refresh;
Printer.BeginDoc;
Canvas.TextOut(100,100,'Testovaci text');
Printer.EndDoc;
Na ten druhy parametr to proste nereaguje sirka je umerna prvnimu
parametru.
Pokud pouziju misto CreateFont CreateFontIndirect tak je vysledek
stejny. Samozrejme naplnim strukturu LOGFONT
--
S pozdravem,
Martin
Odpovedá: Fitz Ladislav
7. 7. 2004 10:44
zkus dat prvne BeginDoc a pak teprve nastavovat font (me to alespon ted tak
fungovalo)
> fHFont:=CreateFont(-25, 10, 0, 0,
> FW_NORMAL, 0, 0, 0,
> ANSI_CHARSET, OUT_DEFAULT_PRECIS,
> CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
> DEFAULT_PITCH or FF_MODERN,'Courier New');
>
> Printer.Canvas.Font.Handle:=fHFont;
> Printer.Canvas.Refresh;
> Printer.BeginDoc;
> Canvas.TextOut(100,100,'Testovaci text');
> Printer.EndDoc;